package com.course.designpatterns.singleton;

/**
 * @author ：Jack Hao
 * @date ：Created in 2021/6/20 20:53
 * @description：静态内部类 JVM保证安全
 * 加载外部类时不会加载内部类，这样可以实现懒加载
 * 比较完美的一种方式
 */
public class Mgr07
{

    private Mgr07()
    {
    }

    //静态内部类
    private static class Mgr07Holder
    {
        private final static Mgr07 INSTANCE = new Mgr07();
    }


    public static Mgr07 getInstance()
    {
        return Mgr07Holder.INSTANCE;
    }

    public static void main(String[] args)
    {

        for (int i = 0; i < 100; i++)
        {
            new Thread(() ->
            {
                System.out.println(getInstance().hashCode());
            }).start();
        }

    }


}
